package Entities;

import java.io.Serializable;
import java.util.Calendar;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToOne;

@Entity
@NamedQueries({
    @NamedQuery(name = "todosChoferes", query = "select c from Chofer c")})
public class Chofer extends Empleado implements Serializable {

    private static final long serialVersionUID = 1L;
    //Atributos
    @OneToOne(fetch = FetchType.EAGER)
    private Vehiculo vehiculo;

    //Constructores
    public Chofer() {
        super();
    }

    public Chofer(Vehiculo vehiculo) {
        this.vehiculo = vehiculo;
    }

    public Chofer(Vehiculo vehiculo, int ci, int puestoTrabajo) {
        super(ci, puestoTrabajo);
        this.vehiculo = vehiculo;
    }

    public Chofer(Vehiculo vehiculo, int ci, int puestoTrabajo, String nombreUsuario, String contrasenia, String nombre, String apellido, int telefono, int cel, Calendar fechaNac, String email, int rol, String departamento, String ciudad, String calle, int numero, String detalle, boolean activo) {
        super(ci, puestoTrabajo, nombreUsuario, contrasenia, nombre, apellido, telefono, cel, fechaNac, email, rol, departamento, ciudad, calle, numero, detalle, activo);
        this.vehiculo = vehiculo;
    }

    //Getters and Setters
    public Vehiculo getVehiculo() {
        return vehiculo;
    }

    public void setVehiculo(Vehiculo vehiculo) {
        this.vehiculo = vehiculo;
    }

    //toString
    @Override
    public String toString() {
        return "Entity.Chofer[ vehiculo=" + vehiculo + " ]";
    }
}